# 你想得到一个由迭代器生成的切片对象，但是标准切片操作并不能做到。
# 函数itertools.islice() 正好适用于在迭代器和生成器上做切片操作

def count(n):
    while n < 100:
        yield n
        n += 1

c = count(0)

import itertools
for i in itertools.islice(c, 10, 20):
    print(i, end=' ')

print()

# 这里要着重强调的一点是islice() 会消耗掉传入的迭代器中的数据。
# 必须考虑到迭代器是不可逆的这个事实。所以如果你需要之后再次访问这个迭代器的话，
# 那你就得先将它里面的数据放入一个列表中。


for i in c:
    print(i, end=' ')
